$(function() {
    let form = layui.form
    let layer = layui.layer
        // 创建自定义规则
    form.verify({
        // a.给用户你昵称的 自定义检验规则
        nickname: function(value) {
            // 如果 用户昵称 长度大于 6 返回错误提示消息
            if (value.length > 6) {
                return '昵称长度必须在 1 ~ 6 个字符之间'
            }
        }
    })

    // 调用函数 初始化 页面
    initUserInfo()
        // 初始化用户信息
    function initUserInfo() {
        $.ajax({
            method: 'GET',
            url: '/my/userinfo',
            success: function(res) {
                if (res.status !== 0) {
                    return layer.msg('获取用户信息失败！')
                }
                // 调用 form.val() 快速为表单赋值        
                form.val('formUserInfo', res.data)
            }
        })
    }

    // 重置用户信息
    $('#btnReset').on('click', function(e) {
        e.preventDefault()
            // 调用函数，重新渲染页面
        initUserInfo()
    })

    // 监听表单提交事件
    $('.layui-form').on('submit', function(e) {
        // 阻止表单默认提交行为
        e.preventDefault()
        $.ajax({
            method: 'POST',
            url: '/my/userinfo',
            data: $(this).serialize(),
            success: function(res) {
                if (res.status !== 0) {
                    return layer.msg('更新用户信息失败！')
                }
                layer.msg('更新用户信息成功！')
                    // 调用父页面中的方法，重新渲染用户的头像和用户信息
                window.parent.getUserInfo()
                    // iframe 中调用 父页面 window 里的 全局函数
            }
        })
    })
})